home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume11 / mush5.7 / part04 < prev    next >
Encoding:
Internet Message Format  |  1987-09-17  |  48.6 KB

  1. Subject:  v11i054:  Mail user's shell, Part04/12
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rs@uunet.UU.NET
  5.  
  6. Submitted-by: island!argv@Sun.COM (Dan Heller)
  7. Posting-number: Volume 11, Issue 54
  8. Archive-name: mush5.7/Part04
  9.  
  10.  
  11. #! /bin/sh
  12. # This is a shell archive.  Remove anything before this line, then unpack
  13. # it by saving it into a file and typing "sh file".  To overwrite existing
  14. # files, type "sh file -c".  You can also feed this as standard input via
  15. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  16. # will see the following message at the end:
  17. #        "End of archive 04 (of 12)."
  18. # Contents:  mush.1.b
  19. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  20. if test -f 'mush.1.b' -a "${1}" != "-c" ; then 
  21.   echo shar: Will not clobber existing file \"'mush.1.b'\"
  22. else
  23. echo shar: Extracting \"'mush.1.b'\" \(46963 characters\)
  24. sed "s/^X//" >'mush.1.b' <<'END_OF_FILE'
  25. X.I Mush
  26. Xcommand ``cmd''.  You may not run any form of reply or sending of
  27. Xmail at all.  It is inadvisable to change folders at this time
  28. Xsince the current message list may be corrupted, but the action is
  29. Xallowed nonetheless providing flexibility for experienced users.
  30. X.TP
  31. X~u
  32. XUp one line.  If the user made a mistake typing a letter and he
  33. Xhas already hit carriage return, he may avoid entering the editor
  34. Xand edit the previous line using ~u.  The line is retyped and
  35. Xthe cursor is placed at the end allowing the user to backspace
  36. Xover it and retype the line.  System V users should note that if
  37. Xthe new line is shorter than is was previous to the ~u command, the
  38. Xline is padded with blanks to the previous length of the file.
  39. X.TP
  40. X~E
  41. XErase message buffer; clear all contents of letter.
  42. X.TP
  43. X~~
  44. XA line beginning with two escape characters will be unaffected by
  45. X.I Mush
  46. Xexcept that only a single tilde will be inserted into the letter.
  47. X.sp
  48. XThe variable
  49. X.B escape
  50. Xmay be set to describe a character other than ``~'' to be used as the
  51. Xescape character.
  52. XWhen sending mail, all the above applies to all three user interfaces.
  53. X.PP
  54. X.SH COMMANDS
  55. XDescribed below are legal commands understood by
  56. X.I Mush
  57. Xthat you can type at your prompt.  Most commands have abbreviations
  58. X(given in parentheses) and can be followed by message lists.  In most cases,
  59. Xwhitespace is not necessary to separate commands from message lists.
  60. XFor example, "d*" will delete all messages.
  61. X"u1-7 {4}" will undelete messages 1 through 7 except for message number 4.
  62. X.in -2
  63. X.PP
  64. XThe ability to customize commands using the
  65. X.B cmd
  66. Xfacility allows users to have
  67. X.I Mush
  68. Xhave a command line appearance to reflect other mailers. However, there
  69. Xhave been efforts already made to have commands which are backwards compatible
  70. Xwith other line-mode mailers.  Users of the graphics tool mode of
  71. X.I Mush
  72. Xmay have little need for the command line mode because the icon based
  73. Xinterface allows interaction with many commands.  The graphics mode is much
  74. Xmore restrictive in favor of user friendliness but most useful commands may be
  75. Xachieved anyway.
  76. X.TP
  77. X.B alternates
  78. X(\fBalts\fR) is useful if you have accounts on several machines.
  79. XIt can be used to inform
  80. X.I Mush
  81. Xthat the listed addresses are really you. When you
  82. X.B reply
  83. Xto messages,
  84. X.I Mush
  85. Xwill not send a copy of the message to any of the addresses
  86. Xlisted on the
  87. X.I alternates
  88. Xlist. If the
  89. X.B alternates
  90. Xcommand is given with no argument, the current set of alternate
  91. Xnames is displayed.
  92. X.TP
  93. X.B cd
  94. Xchange the working directory to that specified, if given.  If
  95. Xno directory is given, then changes to the user's home directory.
  96. X.TP
  97. X.B cmd/un_cmd
  98. XCommand line aliases are set and unset using these commands. More
  99. Xextensive information is given in the first section of this document.
  100. X.B uncmd
  101. Xmay take `*' as an argument to uncmd everything set.
  102. X.TP
  103. X.B debug [N]
  104. XSet debugging level to N (1 by default).  When in debug mode, the
  105. Xuser can see some of the flow of control the program makes while
  106. Xexecuting.  The intent of the debug level is for tracking down
  107. Xbugs with the program at specific locations.  Periodically, the
  108. Xprogram will segmentation fault and core dump.  When this happens,
  109. Xthe user can reenter the program, set the debugging level and recreate
  110. Xthe problem.
  111. X.sp
  112. XIf the user suspects memory allocation problems, a debugging
  113. Xlevel of 2 or higher will prevent memory from being freed causing no
  114. Xoverwriting of memory bounds.
  115. X.sp
  116. XIf the user suspects sendmail errors,
  117. Xa debugging level of 3 or higher will prevent sendmail from starting
  118. Xand outgoing mail is sent to the standard output instead of actually
  119. Xbeing sent.
  120. X.TP
  121. X.B delete
  122. XTakes a message list as argument and marks them all as deleted.
  123. XDeleted messages will not be saved in
  124. X.IR mbox ,
  125. Xnor will they be available for most other commands.
  126. X.TP
  127. X.B dt
  128. XDeletes the current message and prints the next message.
  129. X.TP
  130. X.B echo
  131. Xechoes all the arguments given on the command line expanding variables
  132. Xand expanding history references.
  133. X.TP
  134. X.B exit
  135. X(\fBx\fR) Effects an immediate return to the Shell without
  136. Xmodifying the current folder or system spool directory.
  137. X.TP
  138. X.B expand
  139. XAliases, given as arguments, are expanded as they would be if you
  140. Xwere to send mail to each.
  141. X.TP
  142. X.B fkey/un_fkey
  143. XPrints the values of the function keys. The function keys are used in
  144. Xthe graphics tool mode only.  You can set the values of function keys
  145. Xexplicitly using the
  146. X.B fkey
  147. Xcommand, but the whole process is automated by using the function key
  148. Xinterface provided by the graphics mode.  By default, the
  149. Xlast key in each function key pad displays  the values of all the function
  150. Xkeys in that set of function keys. There are the left, right and top set
  151. Xof keys.
  152. X.TP
  153. X.B folder
  154. X(\fBfo\fR) [-N] [-r] [!] [ %[user] | # | & | file ]
  155. X.br
  156. XChange current folder.  No arguments prints current folder.
  157. X.nf
  158. X.if t .ta 1.5i
  159. X.in +2
  160. X-N    No headers are displayed upon entering new folder.
  161. X-r    read only mode (you won't be able to write changes to this folder).
  162. X!    is specified, the current folder is not updated first.
  163. X%[user]    folder to /usr/spool/mail/[user] (yours, by default)
  164. X#    folder accessed previous to current folder
  165. X&    "mbox" -- default is ~/mbox; or set mbox = "file"
  166. X.in -2
  167. X.fi
  168. X.TP
  169. X.B folders
  170. XList the names of the folders in your folder directory.
  171. XYour folder directory is the directory
  172. X.I Mail
  173. Xin your home directory. Or, you can set the variable
  174. X.B folder
  175. Xto specify another folder directory.
  176. X.br
  177. X.TP
  178. X.B from
  179. X(\fBf\fR) With no arguments, from will print the current message's header.
  180. XIf given a message list, from will print the headers of those
  181. Xmessages which are in the list.
  182. X.sp
  183. XThe special arguments, `-' and `+' can be given to move the
  184. Xcurrent message pointer to the previous or next message
  185. Xrespectively while also printing that message's header.
  186. XIf a message list was given in addition to `-' or `+', then
  187. Xthe current message pointer will be set to the first or last
  188. Xmessage, respectively, in the message list given.
  189. X.sp
  190. X.ti +2
  191. Xpick -f Dan | from +
  192. X.sp
  193. Xwill print the headers of all messages that contain Dan in
  194. Xin the author's name and set the current message pointer to
  195. Xthe last one of that kind in the list.
  196. X.sp
  197. X.ti +2
  198. Xfrom - 10-30 {16}
  199. X.sp
  200. Xwill print the headers of messages 10 through 30 except for
  201. Xmessage 16 and set the current message pointer to 10.
  202. X.sp
  203. X.ti +2
  204. Xfrom +
  205. X.sp
  206. Xwill print the header of the message after the current message
  207. Xand increment the current message pointer to the next message.
  208. X.sp
  209. X.ti +2
  210. Xfrom $
  211. X.sp
  212. Xwill print the last message's header and not move the current
  213. Xmessage pointer.
  214. X%%
  215. X.TP
  216. X.B headers
  217. X(\fBh, z\fR) Prints a screenful of message headers listed in the
  218. Xcurrent folder.  If a message number is given on the command line,
  219. Xthe first message of the screenful of messages will be
  220. Xthat message number. The ``z'' command is identical to the ``h''
  221. Xcommand and remains for compatibility reasons.  The variable
  222. X.B screen
  223. Xmay be set to tell how many headers are in a "screen."  In the graphics
  224. Xtool mode, the variable,
  225. X.B screen_win
  226. Xcontains the number of headers used in the headers subwindow.
  227. X.sp
  228. XA typical header may look like:
  229. X.sp
  230. X.ti +2
  231. X5 >N argv@spam.istc.sri.com Feb. 9, (10/278) Test Message.
  232. X.sp
  233. XThis line indicates that it is message number 5,
  234. X.I >
  235. Xindicates that the "current message pointer" is pointing to this
  236. Xmessage, the author of this message is
  237. X.I argv@spam.istc.sri.com,
  238. Xthe date is
  239. X.I Feb. 9,
  240. Xthe number of lines in the message is
  241. X.I 10,
  242. Xthe number of characters is
  243. X.I 278
  244. Xand the subject of the message is
  245. X.I Test Message.
  246. XThe format of the message header exemplified here is described by
  247. Xthe string variable,
  248. X.B hdr_format.
  249. XThe format style of this variable string is just like printf in C.
  250. XWhen printing the information, the variable is evaluated and each
  251. Xcharacter in the string is echoed unless a ``%'' character is
  252. Xencountered.  If one is found, the
  253. Xfollowing string substitutions may be made:
  254. X.in +2
  255. X.nf
  256. X%S  message Status.
  257. X%f  the entire "From:" field (author).
  258. X%a  the address of the author.
  259. X%n  the name of the author.
  260. X%t  "to" field (recipients).
  261. X%d  date of the message.
  262. X%s  subject of the message.
  263. X%l  number of lines in the message.
  264. X%c  number of characters (bytes) in the message.
  265. X\\n  \ a newline
  266. X\\t  \ a tab.
  267. X.fi
  268. X.in -2
  269. XA field specifier may be used in all options.  Thus, %20f will print the
  270. Xfirst 20 characters of the from line.  No matter what the formatting string,
  271. Xthe message number followed by a '>' (if current message) is printed.
  272. X.sp
  273. XThe "address" and "name" of the author are extracted from the "From:"
  274. Xfield of the message.  The name may be given in parentheses and
  275. Xthe rest of the line is the address, or the address is given in angle
  276. Xgrackets, (``<'' and ``>'') and the rest of the line is the name. Sometimes,
  277. Xthe address is the only thing on the line in which case the name and address
  278. Xare the same.
  279. X.sp
  280. XThe example given above has a hdr_format of
  281. X.ti +2
  282. Xset hdr_format = "%S %25f %7d (%l/%c) %25s"
  283. X.sp
  284. XYou can print a special subset of message headers by using the
  285. X.I -H:c
  286. Xoption, where ``c'' is one of:
  287. X.nf
  288. X.in +2
  289. Xn    just print messages headers of new messages
  290. Xd    deleted messages
  291. Xu    unread messages
  292. Xo    old messages
  293. Xa    all messages
  294. X.fi
  295. X.in -2
  296. X.sp
  297. XMore options to the
  298. X.B headers
  299. Xcommand include
  300. X.I +
  301. Xand
  302. X.I -.
  303. XEach will print the next or previous screenful of message headers.
  304. XEquivalent commands include
  305. X.B z [+] [-].
  306. X``z'' alone will print the next screenful (thus, the + is optional).
  307. XThe ``-'' is equivalent to ``h -''.
  308. X.sp
  309. XHeaders affects all the messages it displays, so piping may be done
  310. Xfrom the headers command.  Piping to the headers command causes the
  311. Xmessage headers affected by the previous command to be printed. This
  312. Xaction would be identical to piping to the
  313. X.B from
  314. Xcommand.
  315. X.TP
  316. X.B help
  317. XHelp is provided on a per topic basis and on a general basis.
  318. XFor general help, just typing,
  319. X.I help
  320. Xwill provide some general information as to how to get further help
  321. Xand a list of topics suggested for more specific help.  There is also
  322. Xhelp provided for each command by using the "-?" option to most commands.
  323. XThis option will provide command line usage information as well as a
  324. Xdescription of what the command does and how to use it.
  325. X.TP
  326. X.B history [-h] [-r] [#histories]
  327. XThe command history is displayed in chronological order; early commands
  328. Xare printed first followed by more recent commands displayed last.
  329. X.I -h
  330. Xsuppresses printing of history event numbers with each history command.
  331. X.br
  332. X.I -r
  333. Xreverses the order of the history events displayed.
  334. X.sp
  335. XIf a number of histories is given, then that number of histories is
  336. Xechoed rather than the number of histories set by the variable,
  337. X.B history.
  338. X.TP
  339. X.B ignore
  340. XDisplay or set a list of headers to be ignored when displaying messages.
  341. XWhen reading messages, all the message headers are displayed with the text
  342. Xbody of the message.  Since these message identifier fields are cumbersome
  343. Xand uninteresting in many cases, you can filter out those headers by using the
  344. X.B ignore
  345. Xcommand.
  346. X.sp
  347. X.ti +2
  348. Xignore Received Date Message-Id
  349. X.sp
  350. XThe command,
  351. X.B unignore
  352. Xis used to reverse the effects of
  353. X.B ignore.
  354. XThese commands may be specified in the initializing files.
  355. X.TP
  356. X.B lpr [-Pname] [msg_list]
  357. Xtakes a message list and sends them, one by one, to the printer
  358. Xeach separated by page feeds.
  359. XA default printer name is supplied if one is not specified on the
  360. Xcommand line (-Pprinter-name). If you have a variable
  361. X.B printer
  362. Xset, that printer name will be used.
  363. X.sp
  364. XIf the variable,
  365. X.B print_cmd
  366. Xis set, the command described by that variable will be used instead
  367. Xof the default system command.  In such cases, the -P option and the
  368. X.B printer
  369. Xvariable is ignored and the command is simply executed as is.  This is
  370. Xuseful for sending C source thruough pgrind or other formatting types of
  371. Xcommands.
  372. X.TP
  373. X.B ls
  374. XJust like the
  375. X.I UNIX
  376. Xcommand
  377. X.I /bin/ls.
  378. XThe variable,
  379. X.B lister
  380. Xdescribes flags to be passed to ls automatically.  By default,
  381. X.I ls
  382. Xalways uses the -C flag (column output).
  383. X.TP
  384. X.B mail
  385. X(\fBm\fR) Send mail to a list of users. If no user list is specified on the
  386. X.I Mush
  387. Xcommand line, then a "To: " prompt will request one.  A list of recipients
  388. Xmust be supplied.  This implementation of
  389. X.I Mush
  390. Xsupports mailing to files and programs as recipients. Filenames must
  391. Xbe full pathnames, thus, they must start with a '/' or there is no way to
  392. Xknow whether a recipient is a pathname or a real user.  The ~ is allowed
  393. Xand is expanded to the user's home directory.  Mailing to programs is indicated
  394. Xby the pipe `|' character preceding the program name.  Since the user's path
  395. Xis searched, full pathnames are not required for programs.
  396. X.sp
  397. XExample:
  398. X.ti +2
  399. Xmail username /path/to/filename "|program_name"
  400. X.sp
  401. XAfter, a
  402. Xsubject will be prompted for, but this heading is optional.
  403. XOptional flags are:
  404. X.nf
  405. X.in +2
  406. X.if t .ta 1.8i
  407. X-v    verbose (passed onto mail delivery program)
  408. X-e    immediately enter editor (autoedit)
  409. X-F    add random fortune to the end of message.
  410. X-i [msg_list]    include msg_list into letter.
  411. X-h [msg_list]    include msg_list with headers.
  412. X-f [msg_list]    forward msg_list (not indented).
  413. X.in -2
  414. X.fi
  415. X.TP
  416. X.B my_hdr/un_hdr
  417. XYou can create personalized headers in your outgoing mail using this command.
  418. X.sp
  419. X.nf
  420. XUsages:
  421. X.in +2
  422. X.if t .ta 2.0i
  423. Xmy_hdr    prints all currently set headers
  424. Xmy_hdr header    value associated with header
  425. Xmy_hdr header: string    set header to string
  426. Xun_hdr header:    unset header
  427. X.in -2
  428. X.sp
  429. X.fi
  430. XTo set a header, the first argument must be a string
  431. Xthat contains no whitespace (spaces or tabs) and must end with
  432. Xa colon ``:''. The rest of the command line is taken to be the
  433. Xtext associated with the mail header specified.
  434. XIf any quotes are used in the header and the header itself is not set in
  435. Xquotes, then quotes should be escaped (preceded) by a backslash. This holds
  436. Xtrue for semicolons, pipe characters or any other metacharacter that
  437. X.I Mush
  438. Xmight interpret as a command line modifier.
  439. X.sp
  440. XIf the variable,
  441. X.B no_hdrs
  442. Xis set, then your headers will not be added to outgoing messages, but will
  443. Xnot unset any headers.
  444. X.B un_hdr
  445. Xmay take `*' as an argument to un_hdr everything set.
  446. X.TP
  447. X.B pick
  448. Xallows the user to select particular messages from a folder.
  449. XWith no arguments, pick will search each message for the previously
  450. Xsearched string (regular expression).  You can search for messages from a user,
  451. Xfor a particular subject line, between certain dates, and limit searches to
  452. Xa range of messages.  You can also find all messages that do not
  453. Xmatch the same arguments mentioned above.
  454. X.sp
  455. X.nf
  456. XUsage:
  457. X.ti +2
  458. Xpick [-r \fImsg_list\fR] [-d [-][date]] [-s|-f|-t] [-x] [-i] [<pattern>]
  459. X.sp
  460. X.fi
  461. XEntire messages are scanned for a <pattern> unless -s, -f, or -t is specified.
  462. XMessages marked for deletion are also searched.
  463. XOnly one of -s, -f, -t, and -d can be specified at once. No patterns can
  464. Xbe specified with the -d option.
  465. X.sp
  466. X.nf
  467. XOptions:
  468. X.if t .ta 1.25i
  469. X.in +2
  470. X-r msg_list    restrict the range of messages search to "msg_list"
  471. X-s    search for pattern in the "subject" headers only.
  472. X-f    search for pattern in the "from" field (author) only.
  473. X-t    search for pattern in the "to" field only.
  474. X-i    ignore case of letters (upper and lower case are the same).
  475. X-d    print message headers on or after [`-' before] `date'.
  476. X-x    messages which do not contain the pattern. May not be used with -d.
  477. X.in -2
  478. X.fi
  479. X.sp
  480. X`date' is of the form: month/date/year. Omitted fields default to
  481. Xtoday's values.
  482. X.sp
  483. XExamples on dates:
  484. X.nf
  485. X.in +2
  486. X.if t .ta 2.0i
  487. X.sp
  488. Xpick -d 4/20    msgs on or after April 20, this year
  489. Xpick -d -/2/85    on or before the 2nd, this month, 1985
  490. Xpick -d /    today only.
  491. X.fi
  492. X.in -2
  493. X.sp
  494. XAt least one `/' char must be used in date.
  495. XThere is no strong date checking; 2/30 would be considered a valid date.
  496. X.sp
  497. XIf no arguments are given, the previous expression searched for is used.
  498. X<pattern> is a "regular expression" described by `ed'.
  499. X.sp
  500. XExamples using
  501. X.B pick:
  502. X.sp
  503. X.ti +2
  504. Xpick -d 2/5/86 | pick -d -2/5/87 | pick -s "mail stuff" | lpr
  505. X.sp
  506. XThis will find all the messages between the dates February 5, 1986 and
  507. XFebruary 5, 1987 that contain the subject "mail stuff" and print them.
  508. X.sp
  509. X.ti +2
  510. Xpick -s Re: | delete
  511. X.sp
  512. XDeletes messages that have "Re:" in the subject
  513. X.sp
  514. X.ti +2
  515. Xfolder +project | pick -f frank
  516. X.sp
  517. XFinds all messages from frank in the folder described by +project.
  518. X.TP
  519. X.B preserve
  520. X(\fBpre\fR) Saves a message list in your spool directory rather than
  521. Xyour mailbox unless it has been explicitly deleted.  The variable
  522. X.B hold
  523. Xcauses all messages to be held in your spool directory automatically.
  524. X.TP
  525. X.B print
  526. X(\fBp, type, t\fR)
  527. XTakes a message list and types out each message on the user's terminal.
  528. X.TP
  529. X.B pwd
  530. XPrints the current working directory.
  531. X.TP
  532. X.B quit
  533. X(\fBq\fR)
  534. XMessages which have been read go to your
  535. X.I mbox
  536. Xor the file described by the string variable
  537. X.B mbox.
  538. XIf the variable "hold" then all messages not marked for deletion are
  539. Xsaved in the spool directory.
  540. XMessages marked for deletion are discarded.
  541. XUnread messages go back to the spool directory in all cases.
  542. X.TP
  543. X.B reply, replyall, respond
  544. X(\fBr, R\fR)
  545. XMessages are replied to by sending mail to the sender of each message
  546. Xin the given message list.
  547. X.B replyall
  548. Xresponds to all the recipients as well as the
  549. Xsender of the message.  You may pass
  550. X.B mail
  551. Xflags as they are passed on to the
  552. X.B mail
  553. Xcommand.
  554. X.sp
  555. XWhen contructing a return mail address to the author of a message,
  556. X.B replyall
  557. Xsearches for special mail headers in the author's message which
  558. Xindicate the most efficient mail path for return mail.
  559. X.I Mush
  560. Xwill search for the following headers by default:
  561. X.B Reply-To:, Return-Path:, From:.
  562. X.sp
  563. XIf none of these fields are found in the message, the first line of the
  564. Xmessage is parsed; this "From " line is different from the "From: " line.
  565. XIf the user wishes to change the order or the actual fields to search for
  566. Xreturn paths, then the variable,
  567. X.B reply_to_hdr
  568. Xis checked for a list of headers to be used (in the order specified).  If
  569. X.B reply_to_hdr
  570. Xis set, but has no value, the first "From " line is used regardless of what
  571. Xheaders the author's message contains.  This is a special case setting for
  572. Xthe variable and the "From " line may not be specified explicitly or as an
  573. Xitem in the list of reply-to headers.
  574. X.sp
  575. XWhen replying to all recipients of the message using the
  576. X.B replyall (R)
  577. Xcommand, only the original author's address can be obtained from
  578. Xthe message headers.  There is no way determine the best path to the
  579. Xother recipients of the message from message headers aside from taking
  580. Xtheir addresses directly from the To: and Cc: lines.
  581. X.sp
  582. XNormally, this isn't a problem with arpanet style addressing schemes.
  583. XThe problems start with uucp because mail is not "one hop away."  That
  584. Xis to say that mail must be routed through other computers, often many
  585. Xof them, till the message finally gets to its desitination.  If the
  586. Xoriginal sender of the message was on a remote machine which your machine
  587. Xmay or may not exchange uucp mail with, then a uucp path will have to be
  588. Xcreated to respond to the author.  However, if he mailed to other people
  589. Xon machines which are also multi-hops away, the addresses he used for
  590. Xthose recipients may differ from what you should specify if you were to
  591. Xtry to reply to all everyone on the original message.
  592. X.sp
  593. XFor example, if the original sender came from remote host,
  594. X.B pixar
  595. Xand the list of recipients looked like,
  596. X.sp
  597. X.ti +2
  598. XTo: r2d2!user1 r2d2!user2
  599. X.sp
  600. Xyou would not be able to respond to those users if your machine
  601. Xdid not connect with the host,
  602. X.B r2d2.
  603. X.sp
  604. XThis problem will be attempted to be solved if the variable,
  605. X.B fixaddr
  606. Xis set. If so, an attempt will be made to compensate by reconstructing
  607. Xthe addresses for user1 and user2 according to the address of the original
  608. Xsender.  The new addresses for user1 and user2 should therefore become,
  609. X.sp
  610. X.ti +2
  611. Xpixar!r2d2!user1, pixar!r2d2!user2.
  612. X.sp
  613. XThere is an additional case where your machine calls
  614. X.B both
  615. Xr2d2 and pixar. Then, it becomes unneccessary to route the mail through
  616. Xpixar and then to r2d2 if you can deliver the mail directly yourself.
  617. XThe variable,
  618. X.B known_hosts
  619. Xmay be set to a list of hosts which you know your machine to have
  620. Xuucp mail connections with.  This list is checked when constructing
  621. Xmail addresses and the shortest path is made by removing from the
  622. Xuucp path those hosts which do not need to be called.  See the entry for
  623. X.B known_hosts
  624. Xin the VARIABLES section.
  625. X.sp
  626. XIf the variable,
  627. X.B auto_route
  628. Xis set, all redundant hostnames from all uucp pathnames are removed
  629. Xto avoid unnecessary uucp connections and improve speeding up mail delivery.
  630. XThe reason for this stems from cases where a number of replies to the same
  631. Xmessage go back and forth and the return address becomes long and contains
  632. Xdedundancy.
  633. X.sp
  634. X.ti +2
  635. Xpixar!island!sun!island!argv
  636. X.sp
  637. XHere, we have an example where mail was probably originally
  638. Xsent to users at pixar and sun from somewhere undetermined now.  Since sun
  639. Xand pixar do not talk to each other, the users on those machines may have
  640. Xresponded to mail creating the type of addresses stated above.
  641. XWith auto_route set,
  642. X.I Mush
  643. Xwill modify this address to look like,
  644. X.sp
  645. X.ti +2
  646. Xpixar!island!argv
  647. X.sp
  648. XThis is not necessary for arpanet users since connections can almost always
  649. Xbe established without having to route through other arpanet hosts. If a
  650. Xmixture of arpanet sites and uucp sites are mixed, then unknown results may
  651. Xoccur.
  652. X.TP
  653. X.B copy/save/write [!] [message list] [filename]
  654. X(\fBs\fR) With no arguments,
  655. X.B copy, save
  656. Xand
  657. X.B write
  658. Xwill save the current message to the file,
  659. X.I mbox
  660. Xin the user's home directory (or the file specified by the,
  661. X.B mbox
  662. Xvariable). If a message list is given, then the messages specified by
  663. Xthe list are saved.  If a filename is given, then that filename is used
  664. Xinstead of mbox.  If the file exists and is writable, the specified command
  665. Xwill append each message to the end of the file. If the `!' is given,
  666. Xthen the file is overwritten causing whatever contents it contains
  667. Xto be lost. The
  668. X.B write
  669. Xcommand differs from
  670. X.B save
  671. Xand
  672. X.B copy
  673. Xin that the message headers are
  674. X.I not
  675. Xsaved in the file along with the body of text.
  676. X.sp
  677. XIf the current folder is the system mailbox, then saved messages are
  678. Xmarked for deletion when the user exits using the
  679. X.B quit
  680. Xcommand. If the variable
  681. X.I keepsave
  682. Xis set or the current folder is not the system mailbox, then messages are
  683. Xnot marked for deletion. The
  684. X.B copy
  685. Xcommand is is like
  686. X.B save
  687. Xexcept that messages are not marked for deletion regarless of whether
  688. X.B keepsave
  689. Xis set or not.
  690. X.sp
  691. XBecause message lists are used to determine the messages to be saved,
  692. Xif the user wishes to save messages to a file that begins with a digit
  693. Xor any other message list metacharacter, a back-slash should precede
  694. Xthe filename to escape the message list expansion routine.  The back-slash
  695. Xwill not be a part of the filename.
  696. X.TP
  697. X.B saveopts
  698. XThe completement of
  699. X.B source, saveopts
  700. Xwill save all settable variables, aliases and cmd's in the initializing file.
  701. X(See the
  702. X.B source
  703. Xcommand for more information on initializing files.)
  704. XIf an argument is given, that file is used.  Beware that this will overwrite
  705. Xfiles so any ``if'' expressions used will be lost. There is no prompting for
  706. Xconfirmation on overwrites, either.  Using saveopts is highly discouraged
  707. Xand is intended for the naive user only.
  708. X.TP
  709. X.B set/unset
  710. XWith no arguments, prints all variable values.  Otherwise, sets
  711. Xoption.  Arguments are of the form ``option=value'' (whitespace is allowed).
  712. XBoolean expressions need not have ``=value'' associated in the command.
  713. XThe special command,
  714. X.I set ?all
  715. Xwill print all known variables utilized by the program and a brief description
  716. Xof what they do. The user may set and manipulate his own set of variables, but
  717. Xinternal variables that are utilized by the program are the only ones displayed.
  718. X.sp
  719. XThe command
  720. X.I set ?variable_name
  721. Xwill print the same information for one variable instead of all variables.
  722. XYou may unset everything by issuing the command ``unset *''.  This is also
  723. Xtrue for aliases, own_hdrs, ignored headers, cmds and function keys.
  724. X.TP
  725. X.B sh [command]
  726. XInvokes an interactive version of the shell. The shell spawned
  727. Xis described by the variable,
  728. X.B shell.
  729. XIf the optional argument,
  730. X.B command
  731. Xis given, then that command is executed under the Bourne Shell.
  732. XIf the special character `&' is at the end of any shell command,
  733. Xthen the command will be executed in background.
  734. X.TP
  735. X.B source
  736. Xreads
  737. X.I Mush
  738. Xcommands from a file.  If no filename is specified, the files searched
  739. Xfor are .mushrc or .mailrc in the user's home directory.  If the environment
  740. Xvariable MAILRC is set, then that file is sourced.  If a filename is given
  741. Xon the command line, that file is sourced. See the
  742. X.B INITIALIZATION
  743. Xheading and the
  744. X.B home
  745. Xvariable descriptions for more information.
  746. X.TP
  747. X.B sort
  748. Xwill sort messages according to author, date, status or subject
  749. X(with or without considering the "Re: ", in replied messages). In
  750. Xaddition, the messages can be sorted in reverse order (same arguments).
  751. X.nf
  752. Xsort [-] [d | a | s | S | R]
  753. X.in +2
  754. X-         reverse sort order.
  755. Xd         sort according to date received.
  756. Xa         author (alphabetical).
  757. Xs         subject ignoring Re: as part of the subject.
  758. XR         subject (alphabetical).
  759. XS         by message status.
  760. X.in -2
  761. X.fi
  762. XBy default (no arguments),
  763. X.B sort
  764. Xsorts messages by status:
  765. XNew, unread messages are first, followed by preserved messages
  766. Xand finally the deleted messages are placed at the end of the list.
  767. X.sp
  768. XIf the variable
  769. X.I sort
  770. Xis set, messages are sorted each time the user's system mailbox is
  771. Xread as the current folder.  The
  772. X.I sort
  773. Xvariable can be set to nothing or to legal "sort" arguments.
  774. XNote that only one argument (except for the `-'), may be used.
  775. X.sp
  776. XSubsorting can be acheived by using the piping mechanism intrinsic to
  777. Xthe line mode interface; no other interface allows subsorting "directly."
  778. XEach interface may allow subsorting if appropriate actions are taken discussed
  779. Xlater.
  780. X.sp
  781. XTo subsort messages, the folder must be in a particular order to begin
  782. Xwith.  To sort mail by author and then by subject heading, you would
  783. Xhave to first sort by author:
  784. X.sp
  785. X.ti +2
  786. Xsort a
  787. X.sp
  788. XNow that the messages are in order according to author, sorting a
  789. Xsublist of messages is done using pipes:
  790. X.sp
  791. X.ti +2
  792. Xpick -f island!argv@sun.com | sort s
  793. X.sp
  794. XThis finds all messages from the user, "island!argv@sun.com" and sorts them 
  795. Xby subject.  Since these messages are already grouped together via the
  796. Xprevious sort command, the sorting by subject (s) will restrict itself
  797. Xto such messages.  You may specify the exact message list by specifying
  798. Xthat message list on the command line and using a pipe:
  799. X.sp
  800. X.ti +2
  801. X10-. | sort d
  802. X.sp
  803. XThis command means to sort the messages from 10 to the current message
  804. Xaccording to the date.
  805. X.sp
  806. XTo specify subsorting from with the curses interface, the temporary
  807. Xcurses escape key must be used (the colon ':') and the command issued
  808. Xat the command line given (as if giving an ``ex'' command to ``vi'').
  809. XWhen the command is finished, the "...continue..." prompt is given and
  810. Xthe user may continue or return to the top level of the curses mode.
  811. X.sp
  812. XIn the tool interface, the user must map a function key to the desired
  813. Xcommand.  Select the "Opts" icon with the right mouse button, choose
  814. Xthe menu item labeled, "function keys" and user the interface provided
  815. Xto set a function key to the desired piped mechanism.
  816. X.TP
  817. X.B stop
  818. XFor systems with job control, stop will cause
  819. X.I Mush
  820. Xto send a SIGTSTP to itself. The command was introduced to facilitate
  821. Xthe stop-job action from a complex command line alias rather than the user
  822. Xhaving to type his stop character explicitly.
  823. X.TP
  824. X.B top
  825. XTakes a message list and prints the top few lines of each.
  826. XThe number of lines printed is controlled by the variable
  827. X.B toplines
  828. Xand defaults to the size of the value of the variable
  829. X.B crt.
  830. XThis command is ignored in the tool mode.
  831. X.SH VARIABLES
  832. X.PP
  833. XShell variables are controlled via the
  834. X.B set
  835. Xand
  836. X.B unset
  837. Xcommands.  Options may be either boolean, in which case it is only
  838. Xsignificant to see whether they are set or not, string, in which
  839. Xcase the actual value is of interest, or numerical, in which the
  840. Xnumerical value is important.  Some variables may have attributes
  841. Xof boolean and string at the same time.
  842. X.sp
  843. XIf you or the program references a variable which is not explicitly set,
  844. Xthen the environment variables are checked and a pointer to that data
  845. Xis returned.
  846. X.TP
  847. X.B alwaysignore (boolean)
  848. XIf set, the mail headers set by the
  849. X.B ignore
  850. Xcommand are always ignored.
  851. XNormally, ignore will only ignore headers when reading, saving(writing)
  852. Xto files, or interpolating messages into letters with the ~f escape. See the
  853. X.B ignore
  854. Xcommand for more information.
  855. X.TP
  856. X.B askcc (boolean)
  857. XIf set, you will be prompted for a Cc list (carbon copy) when you are finished
  858. Xediting a letter to be sent.  In the tool mode, this is ignored; the Cc list
  859. Xis always prompted for after the Subject is prompted.
  860. X.TP
  861. X.B autodelete (boolean)
  862. XWhen exiting mail, all messages which have been read
  863. X.I regardless of whether they have been marked for deletion
  864. Xare removed. Only messages that haven't been read or marked as
  865. X.B preserved,
  866. Xare not removed.
  867. X.TP
  868. X.B autoedit (boolean)
  869. XIf set, you are automatically put into your editor whenever you
  870. Xsend or reply to mail.
  871. X.TP
  872. X.B autoinclude (boolean)
  873. XWhen replying to any mail, a copy of the message being replied to
  874. Xis automatically inserted into your message body indented by
  875. Xthe string described by the variable
  876. X.B indent_str.
  877. X.TP
  878. X.B autoprint (boolean)
  879. XAfter you delete a message, the next message is printed automatically.
  880. X.TP
  881. X.B auto_route
  882. XAutomatic trancation of uucp address to a more brief and efficient path
  883. Xis attempted resulting in faster mail delivery.  Redundant hostnames are
  884. Xremoved from the uucp path if they occur and heuristics are used to
  885. Xdetermine the shortest path to the desination based on return addresses.
  886. XAlso see the variables,
  887. X.B known_hosts, fixaddr,
  888. Xand the command,
  889. X.B replyall.
  890. X.TP
  891. X.B autosign (boolean/string)
  892. XIf the variable is set,
  893. Xbut not to a string (e.g. boolean-true), then the file ~/.signature is used.
  894. X.sp
  895. XOtherwise, the variable is interpreted as a pathname opened relative to
  896. Xthe current directory.  For this reason, it is adviseable to use full
  897. Xpathnames here.  As usual, the ~ and + are expanded as described earlier.
  898. XIf the file is found, it is opened and its contents are read into the
  899. Xmessage buffer.
  900. X.sp
  901. XIf the variable is set to a string that begins with `$', then the string
  902. Xis interpreted as a user definable variable and it is expanded and appended
  903. Xto the letter.
  904. X.sp
  905. XFinally, if the variable is set to a string that begins with a backslash (\\),
  906. Xthen the string itself (minus the \\ character) is used and no expansion
  907. Xis done and no files are read.
  908. X.sp
  909. XIn the latter two cases, it is advisable to set the variable using single
  910. Xquotes to avoid expanding the variable beforehand or from eliminating the
  911. Xbackslash.  For example,
  912. X.br
  913. X.nf
  914. Xset autosign = '$foo'
  915. Xset autosign = '\\this is an exmple string.'
  916. X.fi
  917. X.TP
  918. X.B crt (numeric)
  919. XSet to a value which describes the number of lines a message
  920. Xmust have before invoking the
  921. X.B pager
  922. Xto view a message.
  923. X.TP
  924. X.B cwd (string)
  925. XThe
  926. X.B current working directory
  927. Xstring is automatically set upon startup of
  928. X.I Mush
  929. Xand each time the command,
  930. X.B cd,
  931. Xis called. It is referenced each time
  932. X.B pwd
  933. Xis called and may be used as any other shell variable.
  934. X.TP
  935. X.B dead (string)
  936. XFile to use instead of "dead.letter" when dead mail is saved.
  937. X.TP
  938. X.B dot (boolean)
  939. XAccepts a "." on a line by itself instead of ^D to terminate letter.
  940. X.TP
  941. X.B editor (string)
  942. XEditor to use when ~e is specified. Default is the value of the variable,
  943. X.B visual.
  944. X.TP
  945. X.B escape (character)
  946. XWhen typing in a letter (not in an editor), when the
  947. X.B escape
  948. Xcharacter is the first character on the line, the following character
  949. Xis examined and a corresponding function associated with that
  950. X.B escape command
  951. Xis executed.  See
  952. X.B tilde escapes
  953. Xfor more information.
  954. X.TP
  955. X.B fixaddr (boolean)
  956. XCauses replyall to modify the return addresses of all recipients to
  957. Xroute through the original sender's host.  Mostly used for uucp mail.
  958. XSee the
  959. X.B replyall
  960. Xcommand for more detailed information.
  961. X.TP
  962. X.B folder (string)
  963. XThe folder variable is set to a path where folders are kept. ~/Mail
  964. Xis the default value.
  965. X.TP
  966. X.B fortune (boolean/string)
  967. XIf fortune is set, a random fortune is appended to the end of
  968. Xall outgoing mail using the
  969. X.I UNIX
  970. Xcommand,
  971. X.B /usr/games/fortune
  972. X(may vary from system to system).
  973. XIf fortune is set to something that starts with
  974. Xa '-', then it is interpreted as a flag to fortune (e.g. "-o"). If
  975. X.B fortune
  976. Xstarts with a '/', then the program described by
  977. Xthe string is executed (thus not doing fortune at all, if you want).
  978. XBy default, fortune -s (short fortunes) is used.
  979. X.TP
  980. X.B fortunates (string)
  981. XThis is a variable set to a list of people who, if any are
  982. Xon the To: line, or the Cc: line, a fortune is added.
  983. XIf those lists do not contain names which are on the fortunates
  984. Xlist, then no fortune is added.
  985. X.I "NOTE: fortune must be set in order for fortunates to work."
  986. X.TP
  987. X.B hdr_format (string)
  988. XSee the description of hdr_format above.
  989. X.TP
  990. X.B hold (boolean)
  991. XNormally, on termination of mail, read messages are saved in
  992. Xmbox (except those marked as preserved).  Hold, prevents this
  993. Xfrom happening and messages remain in /usr/spool/mail/user.
  994. XThis does not apply to folders, obviously.
  995. X.TP
  996. X.B home (string)
  997. XThis variable describes the user's home directory. The variable
  998. Xis initialized to the value of the environment variable, HOME,
  999. Xbut can be modified at any time during the
  1000. X.I Mush
  1001. Xsession.  The home directory is the same directory where temporary
  1002. Xfiles are kept for editing and so forth. If the home directory cannot
  1003. Xbe found or read/write access is denied, an alternate directory, typically
  1004. X/tmp, is used.
  1005. X.TP
  1006. X.B ignore_bang (boolean)
  1007. XIgnore the `!' character as a history reference.
  1008. X.TP
  1009. X.B ignoreeof (boolean/string)
  1010. XIf set, ^D will not exit mail.  If set to a "string", that string is
  1011. Xexecuted as a command.
  1012. X.TP
  1013. X.B indent_str (string)
  1014. XWhen including messages into the text of a letter you are editing,
  1015. Xthe messages are preceded by whatever is described by indent_str.
  1016. XThe default string used is "> ".
  1017. X.TP
  1018. X.B keepsave (boolean)
  1019. XIf set, the commands,
  1020. X.I save
  1021. Xand
  1022. X.I write
  1023. Xwill
  1024. X.B not
  1025. Xmark messages for deletion.
  1026. X.TP
  1027. X.B known_hosts (string)
  1028. XUsed in conjunction with the variable,
  1029. X.B auto_route,
  1030. Xthis variable is set to a list of hosts, separated by spaces, tabs,
  1031. Xand/or commas, and describes
  1032. Xthe hosts with whom you know your machine shares uucp connections.
  1033. XWhen replying to mail, many times you will see the return path constructed
  1034. Xwill have hostnames which your site could call, but instead the mail would
  1035. Xbe routed throughout a number of different machines first.
  1036. X.sp
  1037. XFor example, if you respond to mail which would mail to the path,
  1038. X.sp
  1039. X.ti +2
  1040. Xunicom!pixar!root
  1041. X.sp
  1042. Xbut your know your machine already calls pixar, then sending the mail
  1043. Xto unicom first would be unneccessary.  If you have your known_hosts
  1044. Xstring include pixar in its list, the resulting address would look like,
  1045. X.sp
  1046. X.ti +2
  1047. Xpixar!root
  1048. X.sp
  1049. XAlso see the command,
  1050. X.B replyall
  1051. Xfor more information on constructing more correct return addresses.
  1052. X.TP
  1053. X.B lister (string)
  1054. XDefault arguments to the "ls" command for printing the
  1055. Xcontents of a directory.
  1056. X.TP
  1057. X.B mbox (string)
  1058. XSet to the pathname of a file you'd like mush to use as the default
  1059. Xholder for read mail.  The default is ~/mbox.
  1060. X.TP
  1061. X.B metoo (boolean)
  1062. XWhen replying to mail, you are normally deleted from the list of
  1063. Xrecipients. If metoo is set, you remain on the list. See alternates
  1064. Xfor information on determining whether or not you're even on the list.
  1065. X.TP
  1066. X.B newline (boolean/string)
  1067. XIf set, Carriage Returns are ignored, if set to a "string", that string is
  1068. Xexecuted as a command.  Otherwise CR's read the next undeleted message.
  1069. X.TP
  1070. X.B no_hdr (boolean)
  1071. XDon't include your personalized mail headers in messages. This does
  1072. Xnot unset your headers, it just disables them from being specified.
  1073. X.TP
  1074. X.B no_reverse
  1075. XIn curses mode and in the tool mode, reverse video is not used to indicate the 
  1076. X.I current message.
  1077. XIn the tool mode, if reverse video is not in use, text is displayed in "bold".
  1078. X.TP
  1079. X.B nosave (boolean)
  1080. XIf set, terminated mail is not saved in dead.letter
  1081. X.TP
  1082. X.B pager (string)
  1083. XIf a message is longer than what the variable
  1084. X.B crt
  1085. Xis set to, then this program is executed to view a message. The
  1086. Xdefault value for pager is /usr/ucb/more.
  1087. X.TP
  1088. X.B printer (string)
  1089. XUsed to set the default printer for the lpr command.
  1090. X.TP
  1091. X.B prompt (string)
  1092. XYou can set your prompt to tell you many different pieces of information.
  1093. XBy default, the prompt is set to the string,
  1094. X.ti +2
  1095. X"Msg %m of %t: "
  1096. X.br
  1097. XIf you have 10 messages and your current message is 5, then your prompt
  1098. Xwould look like:
  1099. X.ti +2
  1100. XMsg 5 of 10:
  1101. X.br
  1102. XThe string variable
  1103. X.B prompt
  1104. Xcan be set to display other information.
  1105. XThe string value that prompt is set to will be printed as your
  1106. Xprompt.  If the string contains a ``%'', then that character is
  1107. Xignored and the next character is evaluated and an appropriate
  1108. Xvalue is printed in its place:
  1109. X.nf
  1110. X.in +2
  1111. X%m  expands to the "current message" number.
  1112. X%t  total number of messages.
  1113. X%u  number of unread messages.
  1114. X%d  number of deleted messages.
  1115. X%n  number of "new" messages.
  1116. X%f  expands to the filename of the current folder.
  1117. X%T  the current time (hours and seconds).
  1118. X%D  today's day (sun, mon, tues...).
  1119. X%N  today's date (Number of the day in the month).
  1120. X%Y  this year.
  1121. X\\n  \ \ will have a RETURN in the prompt.
  1122. X\\t  \ \ a tab.
  1123. X.fi
  1124. X.in -2
  1125. X.TP
  1126. X.B quiet (boolean)
  1127. XIf set, the currently running version of
  1128. X.I Mush
  1129. Xis not printed on startup.
  1130. X.TP
  1131. X.B record (string)
  1132. XSet to the name of a file to record all outgoing mail. This should be a
  1133. Xfull pathname or the current directory is searched.  The pathname may begin
  1134. Xwith ``+'' (indicating the user's ~/Mail directory or described by $folder)
  1135. Xor with a ``~'' indicating the user's home directory (or ~user).
  1136. X.TP
  1137. X.B reply_to_hdr (string)
  1138. XWhen replying to mail,
  1139. X.I Mush
  1140. Xsearches for return paths from the message by searching for
  1141. Xthe message headings, "reply-to", "return-path", and "from:"
  1142. Xrespectively.  If none are found, then the first line of the
  1143. Xmessage created by the delivery system is parsed and the address
  1144. Xgiven there is used.  If the variable,
  1145. X.B reply_to_hdr
  1146. Xis set, then the list of headers (delimited by spaces or commas)
  1147. Xis searched.  If none of the headers listed in the variable exist
  1148. Xin the message, then a warning message is printed and the default
  1149. Xheaders are used.
  1150. X.TP
  1151. X.B screen (numerical value)
  1152. XNumber of message headers to display at a time.
  1153. X.TP
  1154. X.B screen_win (numerical value)
  1155. XNumber of message headers to display in the tool mode.  There
  1156. Xis a subwindow for message headers and its size is large enough
  1157. Xto hold `screen_win' number of headers.
  1158. X.TP
  1159. X.B show_deleted (boolean)
  1160. XIf true, deleted message headers are displayed along with
  1161. Xother messages ('*' indicates a deleted message).  In curses mode,
  1162. Xthis variable is ignored and deleted messages are always displayed
  1163. Xwith other messages to facilitate undeleting messages.
  1164. X.TP
  1165. X.B squeeze
  1166. XWhenever messages are read, piped, or saved, if this variable is set,
  1167. Xall consecutive blank lines are squeezed into one blank line.
  1168. X.TP
  1169. X.B toplines (numerical value)
  1170. XThe number of lines of a message to print when the "top" command
  1171. Xis issued.  If unset, `crt' lines are printed.
  1172. X.TP
  1173. X.B unix (boolean)
  1174. XIf set, commands which are not
  1175. X.I Mush
  1176. Xcommands are considered to be
  1177. X.I UNIX
  1178. Xcommands.  This removes the inconvenience of requiring the user to do
  1179. Xshell escapes to do quick UNIX commands.  For systems that support job
  1180. Xcontrol, SIGTSTP will stop the entire shell as well as the process
  1181. Xbeing executed.  When SIGCONT is delivered, both will receive the
  1182. Xsignal and the shell will continue to wait for the job to finish.
  1183. X.sp
  1184. XThe lack of real job control, input/output redirection and UNIX command piping,
  1185. Xthis mode of the shell is not intended to be used as a login shell.
  1186. X.sp
  1187. XIf a
  1188. X.I Mush
  1189. Xcommand conflicts with a UNIX command, use 'sh' to override the shell command.
  1190. X.sp
  1191. X.I "WARNING: Be aware that Mush commands return message lists, NOT TEXT.\ "
  1192. XYou cannot pipe UNIX or shell commands to or from UNIX commands.
  1193. XUNIX commands should be simple commands without pipes or metacharacters.
  1194. X.sp
  1195. XThis feature is not available for the graphics (tool-based) mode.
  1196. X.TP
  1197. X.B verbose (boolean)
  1198. XPasses verbose flag to mail delivery systems when sending mail.
  1199. X.TP
  1200. X.B verify (boolean)
  1201. XWhen through editing messages, just before sending,
  1202. X.B verify
  1203. Xwill ask you if you want to send, continue editing, or abort the
  1204. Xwhole message all together.
  1205. X.TP
  1206. X.B visual (string)
  1207. XVisual editor to use when ~v is specified. Default is vi. The visual
  1208. Xeditor is invoked with -e arguments to the commands, "respond" and "mail."
  1209. X.TP
  1210. X.B warning (boolean)
  1211. XIf set, warning messages are printed when:
  1212. X.in +4
  1213. X.ti -2
  1214. X\(bu a command line alias (`cmd') looks like a command.  For example,
  1215. X.br
  1216. Xcmd mail 'set fortune; \\mail'
  1217. X.br
  1218. Xcmd respond 'unset fortune; \\respond;'
  1219. X.br
  1220. X.ti -2
  1221. X\(bu a variable is set differently from its default value.
  1222. XFor example, if the escape character is set to something other
  1223. Xthat the tilde ( ~ ), then a warning message will be printed.
  1224. X.in -4
  1225. X.sp
  1226. XThe intent is so that users who are used to their own environments
  1227. Xwill be aware of changes in other environments should they be forced
  1228. Xto use them.
  1229. X.SH FILES
  1230. X.if n .ta 2.5i
  1231. X.if t .ta 1.8i
  1232. X/usr/spool/mail/*    The directory for incoming mail.
  1233. X.br
  1234. X~/Mail    Default \fBfolder\fR directory.
  1235. X.br
  1236. X~/mbox    Old Mail.
  1237. X.br
  1238. X~/.mushrc    File giving initial \fIMush\fR commands.
  1239. X.br
  1240. X~/.mailrc    Alternate initialization file.
  1241. X.br
  1242. X~/.edXXXXXXX    Temporary for file for outgoing messages.
  1243. X.br
  1244. X~/.mushXXXXXX    Temporary mail file (copy of current folder).
  1245. X.PP
  1246. XTemporary files which are created by the program are always
  1247. Xcreated with read/write access to the owner only; group and other
  1248. Xpermissions are never set.  This is also true for the /usr/spool/mail/*
  1249. Xfiles.  All other files created by the user via commands internal or
  1250. Xexternal to the program have permissions set by the user's default
  1251. Xumask.  If the umask is reset within the program, the mask remains
  1252. Xin tact even after exiting.  Remember to set the variable,
  1253. X.B unix
  1254. Xbefore attempting to set the umask value.
  1255. X.PP
  1256. XIf your system is using Sun Microsystem's NFS, take special note to
  1257. Xread the manual page for mount(1). Filesystems mounted for read/write
  1258. Xaccess should be mounted as "hard" NFS mounts or you may lose mailboxes
  1259. Xduring a timeout during a write or update.
  1260. X.PP
  1261. XFilesystems that use RFS still have bugs to be ironed out in the way
  1262. Xof owners and permissions concerning utime(2).
  1263. X.sp
  1264. X.SH "SEE ALSO"
  1265. XMail(1), binmail(1), csh(1), aliases(5), mount(1),
  1266. Xmailaddr(7), sendmail(8), printf(3), execl(3), umask(1), utime(2).
  1267. X.sp
  1268. X.SH AUTHOR
  1269. XThis code was written entirely by Dan Heller and contains no UNIX sources
  1270. Xor is a modified version of any other mailer.  Similarities with any other
  1271. Xmailer previous to
  1272. X.I Mush
  1273. Xmay have been designed for compatibility reasons with such mailers, but
  1274. Xno source code was barrowed, or even referenced to develop
  1275. X.I Mush.
  1276. X.PP
  1277. Xargv@spam.istc.sri.com    island!argv@sun.com
  1278. X.sp
  1279. X.SH BUGS
  1280. XThe curses interface uses the curses library.  The routines from the
  1281. Xlibrary that are used are the most basic and simple to avoid possible
  1282. Xbugginess that different versions of UNIX might have.  However, one
  1283. Xunavoidable problem is the reverse video mode.  Depending on your terminal,
  1284. Xthe termcap entry for it, and the version of curses you are running,
  1285. Xthe reverse video may makes things worse than desired.  In such situations,
  1286. Xthe user should set the variable,
  1287. X.B no_reverse
  1288. Xto not get reverse video.  ^R may still be entered at runtime in the curses
  1289. Xinterface to toggle reverse video.
  1290. X.sp
  1291. XIf the program is already running and the system [later] has to swap
  1292. Xand there is no swap space left, there may be problems. One such
  1293. Xproblem is sending mail.  If this happens, then sending mail
  1294. Xwill fail and a segmentation fault from the spawned forked child will occur
  1295. Xunless the -v flag was given to mail.  The unsent letter will
  1296. Xnot be removed from the editing file ($home/.edXXXXXX) and may be recovered.
  1297. X.sp
  1298. XMany functions available to the line oriented mode (shell mode)
  1299. Xare not available to the tool mode. For example,
  1300. X.B pick
  1301. Xmay not be directly accessed although experienced users may find that
  1302. Xtyping pick commands within single backquotes in the "range" panel item
  1303. Xin the header window will indeed pick messages.  This is mostly for selecting
  1304. Xthe "delete range" item or the middle mouse button icon in the header panel.
  1305. X.sp
  1306. XShell escapes (of any kind) may not be called from
  1307. Xthe tool/graphics mode. The reason for this is that there is no tty
  1308. X.I window
  1309. Xto run commands from.  It is impossible to determine whether or
  1310. Xnot the user wants to run an interactive program or not so it is
  1311. Xbest to disallow its usage all together. The experienced window user
  1312. Xcan figure out how to really do shell layers from within the tool mode.
  1313. X.sp
  1314. XToggling from the curses mode to the line mode to get the full
  1315. Xfunctionality of the shell/line mode is unfortunately necessary
  1316. Xin the name of "user friendliness."  Mostly, this is only necessary
  1317. Xfor piping of commands and using the pick command.
  1318. X.sp
  1319. XThe function keys and their ability to
  1320. X.I work
  1321. Xhas been variable depending on the version of SunWindows/SunView
  1322. Xyour Sun Workstation has.  From time to time, it works, but when it
  1323. Xdoesn't, it seems to be related to other user or system definable
  1324. Xdot-files or whatever. I hardly use them, so I haven't had a chance
  1325. Xto really debug that part much.  My experiences have shown them to
  1326. Xwork in Sun versions 2.0, 2.2, and 3.3, but not 2.2, 2.3, 3.0 or 3.2.
  1327. X.sp
  1328. XWhen using
  1329. X.B vi
  1330. Xin the tool/graphics mode, periodically the window will be one line
  1331. X"short."  That is, scrolling will be off by one and line and you may
  1332. Xhave to redraw the window (using `z.' in vi) to get it in sync again.
  1333. XThis is a known problem with SunWindows, but Sun refuses to fix it
  1334. Xas SunWindows are "obsolete."
  1335. X.sp
  1336. XWhen running on full filesystems,
  1337. X.I Mush
  1338. Xmay complain or not even run since it needs temporary space with which
  1339. Xto work.  Instead of finding new filesystems on it's own,
  1340. X.I Mush
  1341. Xleaves this task up to the user. The workaround is to set the variable
  1342. X.B home
  1343. Xin the initialization file to be a writable place in a filesystem which
  1344. Xhas enough disk space.  This will set the user's home directory to be
  1345. Xset incorrectly, but resetting the home manually once in the shell
  1346. Xwill correct the problem.
  1347. X.sp
  1348. XMost of the other known and documented bugs
  1349. Xare in the supplied README file accompanying the source.  Of course,
  1350. Xthe source is an excellent place to look as most known bugs are documented
  1351. Xright in the source code.  A good way to track suspicious bugs is to use the
  1352. X.B debug
  1353. Xcommand. This command is very difficult to use in curses mode.
  1354. END_OF_FILE
  1355. if test 46963 -ne `wc -c <'mush.1.b'`; then
  1356.     echo shar: \"'mush.1.b'\" unpacked with wrong size!
  1357. fi
  1358. # end of 'mush.1.b'
  1359. fi
  1360. echo shar: End of archive 04 \(of 12\).
  1361. cp /dev/null ark04isdone
  1362. MISSING=""
  1363. for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
  1364.     if test ! -f ark${I}isdone ; then
  1365.     MISSING="${MISSING} ${I}"
  1366.     fi
  1367. done
  1368. if test "${MISSING}" = "" ; then
  1369.     echo You have unpacked all 12 archives.
  1370.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1371. else
  1372.     echo You still need to unpack the following archives:
  1373.     echo "        " ${MISSING}
  1374. fi
  1375. ##  End of shell archive.
  1376. exit 0
  1377.